package StreamOf;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/**
 * @author zc
 * @version 1.0
 * @date 2021/9/24 13:54
 *
 * 【映射】
 */
public class Test8 {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("a,b,c", "1,2,3");
        System.out.println("便利的结果为：");
        list.forEach(e->{
            System.out.println(e);
        });
        int size = list.size();
        System.out.println("list的size是："+size);


        //-------------------------------

        System.out.println("map：接收一个函数作为参数，该函数会被应用到每个元素上，并将其映射成一个新的元素。");
        //将每个元素转成一个新的且不带逗号的元素
        Stream<String> s1 = list.stream().map(s -> s.replaceAll(",", ""));
        s1.forEach(System.out::println);// abc 123


        System.out.println("flatMap：接收一个函数作为参数，将流中的每个值都换成另一个流，然后把所有流连接成一个流。");
        //双重循环下拆解
        Stream<String> s3 = list.stream().flatMap(s -> {
            //将每个元素转换成一个stream
            String[] split = s.split(",");
            Stream<String> stream = Arrays.stream(split);
            return stream;
        });

        s3.forEach(System.out::println);
    }
}
